# 配置信息类
import logging
import redis


class Config(object):
    # 调试模式
    DEBUG = True
    SECRET_KEY = 'helloappdd'

    #  数据库配置信息
    SQLALCHEMY_DATABASE_URI = 'mysql://root:666@127.0.0.1:3306/information15'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # 开启自动提交
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True

    #  redis配置信息
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

    #  session配置信息
    SESSION_TYPE = 'redis'  # 指定session存储类型
    SESSION_USE_SIGNER = True  # session签名信息，加密存储　
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # redis服务器地址
    PERMANENT_SESSION_LIFETIME = 3600 * 24 * 2  # 有效期两天，单位秒

    # 设置日志等级，默认就是DEBUG　
    LEVEL = logging.DEBUG


# 开发模式的配置信息
class DevelopConfig(Config):
    pass


# 生产模式的配置信息(线上模式)
class ProductConfig(Config):
    # 设置正式环境配置
    DEBUG = False
    #  设置日志等级
    LEVEL = logging.ERROR


# 测试模式的配置信息
class TestingConfig(Config):
    TESTING = True


# 给外界提供一个访问入口
config_dict = {
    'develop': DevelopConfig,
    'product': ProductConfig,
    'test': TestingConfig
}
